1. Technical Field
This invention generally relates to data processing, and more specifically relates to the sharing of jobs between computers on a network.
2. Background Art
Since the dawn of the computer age, computer systems have become indispensable in many fields of human endeavor including engineering design, machine and process control, and information storage and access. In the early days of computers, companies such as banks, industry, and the government would purchase a single computer which satisfied their needs, but by the early 1950""s many companies had multiple computers and the need to move data from one computer to another became apparent. At this time computer networks began being developed to allow computers to work together.
Networked computers are capable of performing jobs that no single computer could perform. In addition, networks allow low cost personal computer systems to connect to larger systems to perform tasks that such low cost systems could not perform alone. Most companies in the United States today have one or more computer networks. The topology and size of the networks may vary according to the computer systems being networked and the design of the system administrator. It is very common, in fact, for companies to have multiple computer networks. Many large companies have a sophisticated blend of local area networks (LANS) and wide area networks (WANs) that effectively connect most computers in the company to each other.
With so many computers hooked together on a network, it soon became apparent that networked computers could be used to process large jobs by delegating different portions of the job to different computers on the network, which can then process their respective portions in parallel. In particular, many computers on a network may have excess computing capacity, or may have periods when they are not being used. These computers could be made productive by working on a portion of a large job with little or no expense, because the computing power is already present but unused.
Known techniques for sharing jobs among computers on a network require knowledge specific to processing the job to be included in the client software installed on each computer system. Thus, if a person defines a new job that would benefit from being processed on several different computers in the network, the client software on the computers must be upgraded to support the new job. The prior art thus effectively precludes dynamic recruiting of systems to work on new types of jobs. Without a mechanism for allowing computer systems on a network to dynamically interact to share jobs without having to pre-define the jobs being processed, the scope of shared jobs will be greatly limited, and excess computing capacity on computer networks will remain an untapped resource.
According to the present invention, a computer system on a network uses IP multicast to recruit other computer systems to share in the processing of a job. If a computer system on the network wants to be available to process shared jobs, it first registers for job sharing by invoking an IP multicast router at a particular IP address. All messages sent to the IP multicast router are broadcast to all computer systems that are registered with the router. When a computer system has ajob to share, it recruits other computer systems to help process the job by sending a message to the IP multicast router that corresponds to a request to share the job. The candidate computer systems that receive the recruiter""s broadcast determine if they can share the job according to one or more job sharing parameters. These parameters may relate to the job itself, network performance, security, or other criteria for sharing. If a computer system meets the parameters for taking on the particular job, it responds to the recruiter. If the recruiter still needs help (e.g., if not enough candidate systems have responded yet), the recruiter grants the response and delivers the job to the computer system. The computer system then performs the job (or task) and returns the results to the recruiter.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.